
// 声明一个分类图片的id
let id = null;
// 声明接口要求的数据
let params = {
  skip: 0,
  limit: 12,
  order: "new"
}
// 数据的总的条数
let total = 0;

Page({
  data: {
    titles: [
      { id: 0, name: "最新", order: "new" },
      { id: 1, name: "热门", order: "hot" }
    ],
    // 页面数据数组
    categoryDetails: [],
    // 项目的根目录
    baseURL: "http://192.168.1.4:3000/"
  },
  onLoad: function (options) {
    // options 存放着上一个页面传递过来的参数
    // 上一个页面分类页面中的图片的id
    id = options.id;
    this.getCategoryDetail();


  },
  // 页面 不是组件 不需要写methods 
  getCategoryDetail() {
    wx.request({
      // url: 'http://192.168.1.4:3000/category/4e4d610cdf714d2966000000?skip=0&limit=30..',
      url: 'http://192.168.1.4:3000/category/' + id,
      data: params,
      success: (result) => {
        this.setData({
          // 数组的合并  拓展运算符 ...
          categoryDetails: [...this.data.categoryDetails, ...result.data.data.list]
        });
        // 获取到数据的总条数
        total = result.data.data.total;
      },
    });

  },
  // 当点击标题的时候 触发的一个方法(参数里面有被点击的标题的索引)
  getIndex(event) {
    /* 
    1 获取到点击的标题对应的关键字 new hot
      1 标题数组
      2 被点击的标题的索引 
    2 将它设置到params中
    3 再一次发送请求 获取数据即可
     */

    // 清空旧的数组
    this.setData({
      categoryDetails: []
    })
    //  也要重置分页数据 skip 
    params.skip = 0;


    //  获取标题数组
    const titles = this.data.titles;
    // 获取被点击的标题的索引
    const index = event.detail;
    // 获取 order值 new || hot
    const order = titles[index].order;
    // 给全局参数params中的order赋值
    params.order = order;
    // 重新发送请求获取数据
    this.getCategoryDetail();
  },
  // 滚动条触底  要开启加载下一页数据
  scrolltolower() {
    /* 
    0 先判断一下有没有下一页数据
      skip>=total
    1 修改 skip 值即可 
     */


    //  判断还有没有下一页数据  
    // 码农 体力活!!!
    if (params.skip >= total) {
      // 没有更多数据了
      wx.showToast({
        title: '没有更多数据了',
        icon: 'none'
      });

      return
    }
    console.log("还有新的数据");


    params.skip += 12;
    this.getCategoryDetail();
  }
})